package com.tradeplus.admin.dao;

import com.tradeplus.admin.model.Module;
import java.util.List;
import org.springframework.orm.hibernate3.HibernateTemplate;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;

public class ModuleDaoImpl implements ModuleDao {
    
    private HibernateTemplate hibernateTemplate;

    public void setHibernateTemplate(HibernateTemplate hibernateTemplate) {
        this.hibernateTemplate = hibernateTemplate;
    }

    @Override
    public void deleteModule(Long moduleId) {
        hibernateTemplate.delete(hibernateTemplate.get(Module.class, moduleId));
    }

    @Override
    public List<Module> loadModule() {
        return hibernateTemplate.find("from Module");
    }

    @Override
    public Module loadModuleById(Long moduleId) {
        return (Module) hibernateTemplate.get(Module.class, moduleId);
    }

    @Override
    @Transactional(propagation = Propagation.REQUIRED, readOnly = false)
    public void saveModule(Module module) {
        hibernateTemplate.merge(module);
    }
    
    
}
